![]() method for restoring from multiple sources
专利摘要:
METHODS AND APPARATUS FOR THE RESTORATION OF MULTIPLE SOURCES. The present invention relates to methods and apparatus which restore a resource from a first source and a second source in a device are described. Resource availability from a second source can be dynamically determined after a portion of the resource has been restored to the device from the first source. When the second source is determined to be more efficiently connected to the device than the first source, a remaining portion of the resource may be restored from the second source to the device after the portion of the resource has been restored to the device. 19918383v1 公开号:BR112013031065B1 申请号:R112013031065-0 申请日:2012-05-22 公开日:2021-05-25 发明作者:Edward T. Schimidt;Gordon J. Freedman;Jacob C. Farkas;Kenneth B. Mcneil 申请人:Apple Inc.; IPC主号:
专利说明:
CROSS REFERENCE TO RELATED ORDER(S) [0001] The present application claims the benefit of United States Interim Order No. 61/493, 360, filed June 3, 2011, entitled "Methods and Apparatus for Multi-Phase MultiSource Backup and Restore", by Gordon J. Freedman et al., which is incorporated by reference into this document in its entirety. FIELD OF INVENTION [0002] The present invention relates generally to restoration devices. More particularly, the present invention relates to restoring files on devices from multiple sources. BACKGROUND [0003] With the proliferation of mobile devices, especially mobile communication devices such as mobile phones, personal data assistants (PDA), tablet-type devices, etc., backup and restore operations have become increasingly more a an integral part of the daily use of these mobile devices. However, as work environments, mobile apps and/or network storage infrastructures continue to evolve, and new challenges accompanied by ever-changing demands on mobile devices also arise to support these capabilities. [0004] For example, conventional backup/restore operations can be based on complex interactions with backup/restore software and hardware that use high-bandwidth network connections. Mobile devices, however, are often used on the go with wireless network connections that can be unreliable, bandwidth-limited, and/or unpredictable from one location to another. Therefore, multiple attempts and/or delays may be necessary in order to complete backup/restore operations on mobile devices. In addition, a greater security risk can be found in opening most wireless networks in these operations. [0005] As such, existing mechanisms may not securely copy and/or restore mobile devices in a reliable, secure, and easy-to-use manner. SUMMARY OF THE INVENTION [0006] In one modality, the resources on a device can be safely backed up to a network-based storage, also called cloud storage, through various levels of abstractions in order to allow for incremental and restartable backup operations. Backup sources can be dynamically configured to both improve backup/restore performance and also to minimize the impact on normal device operations. In one embodiment, the device can communicate with the Mobile Backup Service (MBS) in order to determine which parts of the resources (or files) to securely copy based on the hierarchical data held in the MBS service. Hierarchical data can include the device owner account, a specific backup row (or representation) for each device associated with the owner account, and/or metadata describing each file that is securely backed up. [0007] In one embodiment, the MBS service can communicate with a content service (such as the Me Mobile Data Block Service or MMCS) in order to identify the concrete data blocks (or block data) of the files that they should be backed up in order to avoid duplicate copies of data blocks, for example, in cloud storages. The MMCS service can trace mappings between files and a set of data block identifiers, identifying the files' data blocks. In one embodiment, the MMCS service can dynamically configure or organize vendor cloud storages so as to store the contents of files identified for backup in block data containers. [0008] In another embodiment, a device's metadata can be maintained in order to track when a resource (or file) represents user data (eg, user-created data) or an asset or content acquired. The hard data of an acquired asset can be downloaded or restored from available asset stores (or websites) without the need for backup. Certain freely available assets, such as a Podcast, can be re-downloaded by backing up their identifiers rather than being backed up and restored directly with their actual content. Metadata describing the resources to be backed up can allow automatic identification of different sources for backup that are advantageously transparent to a user. For example, backup capabilities such as an acquired asset might include composing an observation rather than adding the content of the acquired asset. In order to restore the acquired asset, as noted, the contents of the acquired asset can be retrieved from an asset store. For example, an asset store might be a web-accessible site that bundles purchasable assets, stores purchased assets, and/or bundles assets (or content) available for free. [0009] Optionally, resources can be restored split back to a device from multiple sources such as cloud storages, local computers, asset stores and/or other applicable opportunistic sources. Metadata indicating the types of media assets can be tracked by resources on a device in order to dynamically identify which sources are available and/or are most cost effective for restoring (or backing up) resources, eg based on performance, bandwidth, power consumption and/or other applicable considerations. [00010] For example, a device may notice a connection to a local computer (eg, wired or wireless), which stores a portion of content data on the resources to be restored. The content data portion can be retrieved from the computer already connected. Subsequently, the rest of the resources, which are not available from the local computer, can be identified to be restored split from cloud storages and/or stores. As a result, content data such as music, apps or other media files can be safely copied to the cloud (or cloud storages) but can still be retrieved from a local computer to the device. [00011] In a modality, files or resources can be selected for backup, for example, based on application, media type, or other extensible information associated with it. A resource can be tracked as a store asset (for example, acquired assets available from an asset store) that can be available in stores without the need to back up the asset's concrete content. Optionally, another feature can be tracked as user data not available in stores and requires backup and restore, for example via cloud storages. An app can be associated with features that include the app itself as a store asset and the app data as the user data. In this way, an application and associated application data can be restored from different sources. [00012] For example, selected resources on a device for cloud backup can include app data without including a corresponding app by itself. The app can be re-downloaded to a device from an asset store and the app data can be restored from cloud storage and/or a local computer. Alternatively, the app can be synced from the local computer in order to restore the app data from cloud storage. Other combinations of backup sources to separately restore application and application data may be possible. In some embodiments, application data can be restored before its corresponding application can be used (eg by a user). The app can be downloaded or synced before initiating to restore the app data (eg from cloud storage or other sources) in order to create an appropriate order. [00013] In one embodiment, restoring resources from a backup of a device can be performed in multiple phases in order to keep the device in a usable working condition and responsive to a user while the resources are being restored. For example, a device might enter a modal restore session (eg, a first mode) followed by a background restore session (eg, a second mode) for a dual-phase or two-phase device restore. The device, in one modality, may be usable by a user in such a way that the device does not respond to user input in the initial modal reset session. In one modality, the initial modal session can be brief and quick for restoring the core user files in order to reboot the device. Later, the background session can allow a user to use the device while individual apps are being restored back to the device in the background. The device may be operational in the sense of responding to at least one set of user input in the background restore session. [00014] In a modality, during the modal session of a two-phase restore, a device can be quickly unusable while lowering system resources in order to put the device in a working condition specific to a user. For example, system resources may include all system metadata and data, a list of accounts, wallpaper, an SMS (short message service) history, and/or other applicable user-specific non-application data . System data, in addition to metadata, can configure the device to behave, for example, like the user's phone. The device can reset and come back to life after the modal session. [00015] In one modality, during the background session of a two-phase restore, a device can restore data or media assets from local computers (eg, running Apple Inc.'s iTunes® application) and/ or from cloud storage. The device can synchronize emails and/or receive text messages during the session in the background. In one modality, resources can be restored according to a restoration order determined by usage patterns. For example, an app usage can be tracked to gather usage patterns, including shows/movies watched, books read, or other applicable usage statistics. In other modalities, the order of restoration may depend on the size of the resource (or content), in which an icon corresponding to the resource is positioned on a device's screen (for example, a user can place frequently used icons on the first page), or other applicable factors. The restore order can be dynamically updated, adapting to user requests, such as by a user tapping on the screen to indicate application priorities. [00016] In another modality, during a period of time in a dual-phase (or bifurcated) restore when a device is usable but not all data has been restored, UI (user interface) elements may be displayed towards to improve the user experience and prevent apps from operating incorrectly or in an unexpected way. For example, icons representing applications and/or media libraries (eg for playing music, video or other content/media assets) whose object file(s) or user data have not yet been restored, may be displayed in gray, or include a progress bar to indicate that apps are not yet available but will become available. Interactivity can be added by allowing the user to tap an icon of an app, or photo, or music, or video that the user would like to prioritize for restoration. [00017] In another embodiment, a method and apparatus are described herein in order to restore a resource from a first source and a second source in a device. The availability of the resource from the second source can be dynamically determined after a portion of the resource has been restored to the device from the first source. When the second source is determined to be more efficiently connected to the device than the first source, a remaining part of the resource can be restored from the second source in the device after the part of the resource has been restored to the device. [00018] In another modality, a first resource to restore on a device is identified with a backup service. The first source can be switched to a second source in order to restore the first resource to the device when a portion of the first resource has been restored from the first source and a remaining portion of the first resource has not yet been restored to the device. The remaining part of the first resource can be restored from the second source. In one modality, a second resource can be identified in order to restore the device with the second source. The second resource can be restored on the second source device. [00019] Other features of the present invention will become apparent from the accompanying drawings and from the detailed description which follows. BRIEF DESCRIPTION OF THE DRAWINGS [00020] The present invention is illustrated by way of example and not limitation in the figures of the attached drawings, in which similar references indicate similar elements, and in which: Figure 1 is a block diagram illustrating an embodiment of systems of network for backup and restore from multiple sources in multiple phases; Figure 2 is a block diagram illustrating an exemplary multi-source multi-source backup and restore system in multiple phases; Figure 3 is a block diagram illustrating an exemplary system for managing multi-phase backup and restore using multiple sources; Figure 4 is a flowchart illustrating an embodiment of a process for performing incremental backup operations on a device; Figure 5 is a flowchart illustrating an embodiment of a process for performing incremental restore operations on a device; Figure 6 is a flowchart illustrating an embodiment of a process in order to dynamically prioritize resources to restore on a device; Figure 7 is a block diagram illustrating an exemplary system for monitoring a device's power supplies for backup and/or restore operations; Figure 8 is a flowchart illustrating an embodiment of a process for interrupting backup and/or restore operations on a device in order to save energy; Figure 9 shows an example of a data processing system that can be used with the modalities described herein; Figure 10 illustrates an example of a typical computer system that can be used in conjunction with the modalities described herein. DETAILED DESCRIPTION [00021] Methods and apparatus for backing up and restoring files on devices in multiple phases using one or more sources are described in this document. In the following description, numerous specific details are presented in order to provide an exhaustive explanation of the embodiments of the present invention. However, it will be apparent to a person skilled in the art which embodiments of the present invention can be practiced without these specific details. In other cases, well known components, structures and techniques have not been shown in detail in order not to obscure the understanding of the present description. [00022] In this specification, reference to "an embodiment" means that a particular feature, structure, or feature described with respect to the embodiment may be included in at least one embodiment of the present invention. The appearances of the words "in a modality" in various places in this descriptive report do not necessarily refer to the same modality. [00023] The processes illustrated in the following figures are performed by processing logic that comprises a hardware (for example, circuits, a dedicated logic, etc.), a software (as executed in a general purpose computer system or on a dedicated machine), or a combination of both. Although the processes are described below in terms of some sequential operations, it should be appreciated that some of the operations described may be performed in a different order. Also, some operations can be performed in parallel rather than sequentially. [00024] In one modality, multiple sources may be available for backing up data or resources from a device. For example, generic data backup services can be offered in the cloud (or in cloud storages, in cloud services) through third party providers such as Amazon, S3, Microsoft, etc. Purchased assets, such as music, movies and/or apps, etc., can be downloaded from iTunes® stores in the cloud. User's computer(s) running backup service software, such as iTunes®, can be used to back up a device, such as an iOS device ®, an iPhone® or iPad® device from Apple Inc. [00025] Resources to be copied from a device can be backup data, including, for example, settings, account data, application data, photos, media files, acquired assets and/or other data files. In one modality, backup data can be dynamically identified from existing resources on a device. A user's computer (for example, a desktop computer or a notebook computer) can store backup data on the device. Optionally or alternatively, backup data subsets for a device can be stored in the cloud via cloud backup and/or through stores such as iTunes® stores for the assets acquired in the backup data. [00026] In one modality, an account, for example, maintained by the MBS service server in the cloud, can be represented by hierarchical data that includes multiple backups (or backup structures) that correspond separately to different devices for the account. Hierarchical data can include an account that contains a set of backups for a number of different devices. A backup can include a set of file snapshots on a device. One device backup may be supported. [00027] A snapshot can represent a state of a device at a single point in time. A restore can be made from any snapshot in a backup to reconstruct the device's state at that point in time. Snapshots can be sequentially numbered from a number (eg one), and these numbers can be assigned by a server. The first snapshot can be a full device backup and subsequent snapshots can be deltas based off of the previous snapshot. Incremental snapshots can contain all files added, modified, and deleted on the device since the previous snapshot. [00028] A snapshot can be explicitly confirmed once its contents have been uploaded. There can be one uncommitted snapshot at a time, and the uncommitted snapshot can be the last snapshot with the highest number. Once a snapshot is confirmed, its contents cannot be modified except by deleting it completely. [00029] When a snapshot is deleted, its contents can be merged with the previous snapshot unless it is not confirmed. As a result, a restore can still be done from any subsequent snapshot. Files added/modified/deleted in a target snapshot can be retained (eg will not be lost). Deleting an uncommitted snapshot might not cause a merge and instead the content might simply be discarded. When deleting the second snapshot of a sequence of stored snapshots, and when merging files into the first snapshot of the snapshot sequence, the deleted files cannot be retained since the first snapshot is complete. The first snapshot cannot be deleted unless it is the only snapshot in the snapshot sequence. [00030] Each backup can include a snapshot taken of the corresponding device, for example, according to a configured schedule (eg, hourly, daily, weekly, etc.) Each snapshot can include descriptions of a list of files or resources. Each file can be broken up into blocks (or file segments) of concrete data (eg of a certain bit size) for the cloud service(s) to be stored. Alternatively, file segmentation can rely on technologies to divide data items into blocks, for example, described in provisional patent application No. 61/433 152 entitled "Content Based File Chunking" by Dominic Giampaolo, filed on January 14, 2011, which is incorporated by reference into this document in its entirety. [00031] Typically, multiple blocks of data can be aggregated as a container, such as a storage unit, to the cloud service offered, for example, by third-party providers. A backup can be created, updated, deleted, disabled or operated as requested. For example, files from a particular domain can be removed from a backup. Cloud storage does not store enough information to regenerate the original files corresponding to data blocks stored in cloud storage. In this way, files are inherently protected through data segmentation. Encrypting data blocks can provide an additional level of protection for data stored in cloud storage. [00032] In one modality, a device, such as an iOS device, can initiate backup operations with a backup service (eg hosted on an MBS service server) in the cloud in order to identify the backup data of the device features. Metadata describing the backup state of the device can be maintained in the backup service, for example, through a backup structure corresponding to the device. Backup status can include a newer snapshot or a newer series of snapshots of resources already backed up to the device. In one embodiment, the metadata can reference blocks of data stored in cloud services through the third-party provider(s) to the device's backup data. [00033] Backup data or files identified on a device for backup operations can be divided into data blocks of hard data bits ready for cloud storage. In one embodiment, MMCS service code in a device service framework can communicate with an MMCS service server in the cloud in order to prepare data blocks to back up identified files. For example, backup data can be split into multiple data blocks according to certain data block configurations (for example, a specific data bit size for each data block). [00034] The service structure can determine which of the multiple data blocks prepared from the files identified for backup are not currently available in the cloud and need to be uploaded. In some embodiments, the service framework (for example, through the MMCS service code) can verify each block of data in a signature, for example, through the SHA verification algorithms or other applicable algorithms, as an identifier for the server MMCS service (or service) to determine if the identified data block has already been copied to the cloud. [00035] In one modality, files can be referenced in the MMCS service. A device can assign arbitrary identifiers to files. The device can use the identifiers to refer to files again. References can be periodically tracked (for example, by a server) in the MMCS service in order to garbage collect unreferenced data blocks from files (or data blocks from files). [00036] Backup operations for a device can be performed in multiple phases, such as the configuration phase, the digitization phase, the backup phase and/or other applicable phases, in order to coordinate with multiple cloud services . Each phase can correspond to a separate abstract layer of operations to allow dynamic configurations of cloud storages in order to opportunely increase the efficiency and/or improve the performance of the backup operations. [00037] For example, during a configuration phase, it can be determined whether a backup (or backup structure) exists for a device in an MBS service. The MBS service can be asked to create the backup with the initial metadata for the device when there is no backup for the device in the MBS service. In one embodiment, the device may include a backup cache reflecting a copy of the backup corresponding to the device in the MBS service. The backup cache can include one or more snapshots previously taken for the device. [00038] In one modality, the backup cache can be rebuilt (eg when querying the MBS service) in order to synchronize with the MBS service if necessary (eg when cached snapshots in the backup cache are out of date from according to the messages communicated with the MBS service). Optionally or in addition, when there is an uncommitted snapshot on the device, it can be determined during the configuration phase. An uncommitted snapshot might not match existing snapshots stored in the MBS service and might include descriptions of the resources still to be copied. An uncommitted snapshot can be created during the configuration phase. [00039] In one modality, a device can query the MBS service to determine if there is an uncommitted snapshot, for example, as a part of making sure a backup cache is up to date. The device may create an uncommitted snapshot after scanning its file system during a backup operation. The backup cache can be incrementally updated to reflect what was successfully backed up, for example the MBS service and MMCS services. [00040] During the scanning phase, the device file system can be scanned to find changes in files or resources such as new files, deleted files, modified files, etc. In one modality, changes can be identified through a comparison between scanned files and snapshots stored in the backup cache. Which files are already copied and which files need to be copied can be tracked during the scanning phase. [00041] In the backup phase, concrete file backup operations can be performed. For example, a snapshot can be created if necessary (for example, when there are no uncommitted snapshots available). Requests can be sent to the MBS service to create new file entries, modified files and/or deleted files in the MBS service. A quota or cloud storage access right authentication can be received from the MBS service in order to allow sending a backup request to the MMCS service. The backup request may include metadata describing the files or file changes to be backed up. [00042] An authentication token can be received from the MBS service to indicate that the requested backup is within the backup storage size limit imposed by the MMCS service for a device. The authentication signal can be sent to the MMCS service for a set of authorized HTTP (HyperText Transfer Protocol) requests from a device to a storage provider. The MMCS service can interact with storage providers (or cloud services) in order to retrieve an authorization key for the device. Changes (eg add/delete/remove) of files can be uploaded to the cloud service with the authorization key. When confirmation of a successful upload is received from the cloud service, the snapshot corresponding to the upload can be confirmed between the device and the MBS service. A snapshot can be confirmed once it has been created and its content has been defined, then uploaded to the MMCS service. [00043] In one modality, the MBS service can be based on metadata describing files at the file level. The MMCS service may depend on the content or concrete data (eg data blocks) of files. Verification signatures generated from concrete content of files can be used in the MMCS service as identifiers for the content. The MMCS service can determine if parts of the content identified by the identifiers are new (or not yet copied), for example, in cloud storage. The MBS service can decide whether a file or files are new or have been updated based on the metadata associated with the file or files. [00044] In certain embodiments, backup services, such as the MBS service, can maintain one or more backups for a device. Backups can include semantics that describe what the backup data or files are, how to keep track of the backed up data, the identity of the corresponding device, how different backups are related (eg, based on the backup data, on the relationships of backups. incremental backups, etc.) and/or other information. In one modality, a backup can be associated with a device with an account. Each account can include multiple devices. The backup can include multiple device snapshots. For example, snapshots can be taken daily for device resources. Each snapshot can describe files changed on the device from a previous snapshot in the backup. [00045] In one embodiment, a device's resources can be copied based on multiple path handshakes (signal sequences) in order to transmit files and/or file metadata between the device and services such as the MBS service , the MMCS service, cloud providers (or storage) and/or other applicable services. The MBS service can track MMCS service referrals. The MMCS service can track the references of cloud providers to allow, for example, the device to dynamically map the map files to structured data specified by the providers. [00046] In an example modality, the MMCS service can, according to a particular cloud provider, identify a file on a device as an item, instruct the device to divide the item into data blocks, generate a unique identifier for each block of data and notify the device if the device needs to forward an identified block of data to cloud providers for backup. The device can instruct or communicate with the MBS service to put information into a snapshot taken for the device and/or make the snapshot consistent with the device. [00047] In this way, multiple services can provide layers of indirect ways to backup the resources of a device in order to isolate operations within one of the layers and prevent them from affecting other layers. The MBS service can track the metadata of the resources to be copied, determining which files (or items) already existed without the need for a backup. The MMCS service may be responsible for tracking which cloud storage providers store the actual backup data, for managing the right to use the cloud storages for creating a ticket (or certificate) to activate the device and send the data backup to cloud storages, and/or by performing garbage collection in order to eliminate structures representing data blocks no longer referenced for backup. The MBS service can be isolated from (or unaware of) the cloud storages managed by the MMCS service. [00048] In one modality, a snapshot generated for backup operations cannot be marked as consistent before the snapshot is committed after the backup operations complete successfully. A fixed (or configured) number of latest snapshots (for example, corresponding to daily snapshots for three days) can be cached on a device or stored in the MBS service. The number of snapshots can be limited in order to conserve storage space. Typically, the first (or most recent) one of the stored snapshots can be a full snapshot describing each device resource for corresponding backup operations. The remaining snapshots can be incremental snapshots that describe resource monitoring changes with respect to a previous snapshot among the snapshots. [00049] During the last phase of backup operations, in one modality, snapshots can be merged so as to hide, for example, the two or more oldest snapshots existing in a full snapshot. As a result, the total number of stored snapshots can be kept as a fixed number when a new snapshot is committed. In some embodiments, the MBS service can be notified (or instructed) to drop and/or merge existing snapshots as an atomic database operation. In response, an acknowledgment can be received from the MBS service in order to indicate whether the atomic operation was successful or not. [00050] In certain modalities, a backup source such as the iTunes® store can be consulted in order to identify a list of resources (eg apps, purchased assets or other assets) that may not be available for a new download . For example, the backup source may determine which of the acquired assets associated with a device (for example, based on a request by the device) are not available for a redownload before the device performs content backup operations. The concrete contents of the list of resources not available for a new backup source download can be archived or copied via backup services such as MBS service, MMCS service, etc. [00051] In one embodiment, communications between a device and the MBS service provide client server protocols for managing backups (eg create/delete) and snapshots (eg create/delete/merge/update) . Updating a snapshot can be done in an atomic way when all changes to a snapshot are incorporated (or committed) or when the snapshot is not updated at all. [00052] In some embodiments, protocols for managing snapshots through the MBS service can rely on file metadata or resources for lightweight and efficient network communication. Metadata can describe information about files on a device, such as a filename, file references, timestamp sizes, ownership, protection settings, or other applicable data associated with files, without describing the actual content of the files. Which files or assets need to be included in backup operations can be determined based on descriptions in the metadata. A delta or differences between separate snapshots can be tracked in terms of metadata descriptions. [00053] For example, a device can maintain a cache using a last modified time value. Requests and responses can contain the last modified time value in order to access, delete, update, modify, or perform other operations on a resource. In one modality, requests on a resource may result in the last modified time value of the resource's parent resources being updated. For example, deleting a backup for an account might update the last modified time value for the account. Adding files to a snapshot can update the snapshot's last modified time values as well as the snapshot's parent backup and account. [00054] Snapshot management requests can allow the creation of a new empty uncommitted snapshot, the update of a previously created snapshot, the deletion of a snapshot, and/or the commit of a snapshot. A response might indicate insufficient storage when the reserve space for a requested snapshot exceeds a quota for an associated account. The request may include snapshot attributes such as device name and version numbers. [00055] In another embodiment, a list of files with their attributes can be retrieved from a snapshot via a request. An MMCS service authorization token can be requested for downloading an MMCS service file stream. Requests to manage files for snapshots may include, for example, creating, deleting, updating, tagging, or other applicable operations. A response might indicate a conflict when the size of files in a snapshot exceeds the reserved space. In some modalities, deleting a file from a snapshot may erase the underlying database record stored by the server and the deleted file may no longer appear in the file list for the snapshot. Alternatively, marking a file as deleted can indicate that the file exists in a previous snapshot but no longer exists on a device. [00056] File metadata on a device can correspond to a level of abstraction in the sense of determining which files to copy, eg via the MBS service, and/or creating snapshots for backup operations. Concrete file content checks (eg, bitwise checking data blocks) can provide another level of abstraction in order to identify, for example, through the MMCS service, what content of the backup files needs to be loaded. In one modality, separate files of the same content can be associated with different metadata descriptions. In this way, a comparison based on content checks or data block signatures can allow sharing of backup storages (eg from the cloud) on files of the same content but with different metadata. [00057] Backup operations can be resumed and/or switched. For example, a backup operation can be interrupted when the network connection is lost. The backup operation can be resumed when the network connection is re-established. In one modality, which files to copy for a resumed backup operation can be determined based on signatures generated from a file's content (eg via the MMCS service). When files on a file system are changed before a backup operation is stopped, the file system can be rescanned before resuming (or activating) the backup operation. In some embodiments, for an optimization, the modification timestamps (or values) of a file can be compared with a corresponding timestamp in a backup cache when scanning a file system before querying the MMCS service in the sense of determining whether the file has changed. [00058] Backup/restore operations between a device and a source or host host (main computer) can be stopped (or terminated) and resumed based on sync anchoring technologies such as a device anchor on the device or an anchor from host to host. Examples of synchronization anchor technologies are described in U.S. Patent No. 7,807,403 issued entitled "Synchronization Methods and Systems" by Gordon J. Freedman, which is incorporated herein by reference in its entirety. . [00059] In one modality, resources can be restored split on a device from multiple dynamically configured sources. For example, an acquired asset, such as apps, music, images, videos, TV shows or other media data, can be downloaded from one or more cloud stores to the device when requested. The acquired asset can be stored on a local computer (eg owned by a device user) and ready to restore the device as well. [00060] In one mode, while the device is restoring the asset acquired from the cloud (eg in a store), when moving within close range of the local computer, a connection (eg connections with or without wire) can be established between the device and the local computer. Upon detection of the connection and availability of the acquired asset on the local computer, the device can dynamically switch the restoration sources for the asset acquired from the cloud on the local computer in order to complete the restoration of the remaining part of the acquired asset (for example, via iTunes® software hosted on the local computer). As a result, the cost of the network connection can be reduced and restore performance can be increased. [00061] In some modalities, the availability of a device's resources from various sources, such as stores, local computers or cloud storages, can be tracked based on the resource's metadata. If a particular resource already exists in a store or on a local computer, the particular resource can be restored from existing sources on the device without having to copy the concrete content of the particular resource. For example, a resource's metadata might indicate ownership of an acquired resource for an account associated with the device. The purchased resource can be made readily available from available sources, such as in stores from the cloud and/or on local computers. As a result, the acquired resource can be reloaded from available sources without the need for a backup. [00062] In one modality, the resources of a device, such as settings, account data, application data and/or acquired assets, can be copied to a local computer. Portions of resources, such as settings and/or application data, may also be copied to cloud storages. Certain portions of the resources, such as the acquired asset, can be maintained and available in cloud stores. A resource can be restored from the local computer when available and from cloud storages and/or stores when the local computer is not connected to the device or when the resource cannot be located on the local computer. Certain assets that can be synchronized through synchronization operations with central services, such as emails, calendars and other applicable resources, cannot be backed up by backup operations. [00063] In certain embodiments, metadata services, such as the MBS service, can select which resources on a device can be copied by providing an authorization token to the device for backup operations. For example, certain third party applications and/or data can be filtered and cannot be copied. In one embodiment, data filtered from a backup may include directories or documents declared by third-party applications as not needing to be backed up, such as cached data or indexes that can be regenerated. Alternatively, the resources to back up can be identified according to a quota limitation on the total backup data size imposed by an associated account on the device. [00064] In one modality, if all resources are restored (or if restore operations are completed) to a device, they can be tracked against multiple sources (eg cloud stores, local computers, stores, etc.). ) where different resources or different portions of a given resource can be restored from it. For example, iTunes® running on a local computer that communicates with the device might determine a specific resource stored in the cloud, but not on the local computer from which it was not restored back to the device. The particular resource can be retrieved via the local computer on the device in order to complete the restore operation. [00065] As an example, a new device, such as a new phone, activated by an account associated with a user can be restored from account cloud backups. The device can initiate restore operations with a backup service such as the MBS service with identifiers that identify the account and the device. Therefore, descriptions of the resources to be restored can be determined, for example, with the MBS service. Cloud storages can be located (eg via a configuration, dynamically discovered, or fetched from connected services, etc.) in order to restore certain resources. Alternatively, when a local computer running a corresponding backup service application such as iTunes® is available (eg within the device's connection range), resources can be retrieved from the local computer without the need to access remote cloud storages. [00066] Restore operations on a device can be done in multiple phases, including, for example, a modal restore phase followed by a background restore phase. Essential files or information, such as settings or metadata, can be restored first during the modal restore phase atomically (eg all essential files are restored or no files are restored) in order to allow the device to boot a working condition and quickly becomes available to a user without having to wait for the rest of the restore operations to complete. During the modal restore phase, the device may be settling system files and may not be operational to receive user input. Atomic restoration can ensure that the device works with a consistent set of data, even before resources are fully restored. [00067] Then, during the background restore phase, the remaining resources needed to restore a device can be recovered in the background from available backup sources such as cloud storages and/or local computers . For example, scalable resources such as concrete content from media assets (eg photos, videos, voice files, etc.), data from third-party apps, or other applicable resources can be recovered during the phase of background restore without affecting device operation or the user's ability to use at least some functions or capabilities of the device, for example, the user may be able to send a text message or browse the internet or make a phone call from voice in the restore phase in the background. [00068] In one modality, a device can be synced (eg through sync operations) with a local computer (eg an iTunes® computer) running the iTunes® application) in order to ensure that certain content or features (for example, music, applications, podcasts, videos, phone tones, photos, notes, email account settings, contacts, calendars, and bookmarks) on the device match a user-selected subset of the corresponding features on the local computer . Application data can be backed up from the device to the local computer (eg iTunes® backup) when synced. Acquired assets, such as apps or media content, can be downloaded from the local computer to the device for syncing (eg via the iTunes® library). [00069] In one modality, synchronization operations between a device and a local computer can be performed during (or after) the (phase of) device background restore. Communication or connection between the device and the iTunes® computer may not be available prior to background restoration while the device has not yet been activated to a working condition. Sync operations may be able to restore assets (eg purchase of media and/or apps) from the local computer (eg like iTunes® libraries) on the device. [00070] Optionally or in addition, sync operations can restore application data or user data on a device from a local computer (eg as an iTunes® backup). In one modality, sync operations can include a comparison between the iTunes® computer and the device to identify a list of resources to be synced with the device. The restore operations and the synchronization operations can be based on a common module, such as the ATC (Air Traffic Controller) code executed on the device for retrieving concrete content or bit data from applicable sources. The ATC controller may automatically notice a system event such as the iTunes® (or corresponding) sync event when the device is docked or connected to an iTunes® device to transfer iTunes® device resources for sync operations and/or restore operations. [00071] In one modality, restore operations on a device can be verified with a connected backup service (eg an iTunes® computer or the MBS service) in order to determine the best source for restoring a resource. Different sources can be identified for separate resources or assets, such as cloud backup storages (or cloud backup), local computer backups (eg iTunes® backup), stores (eg iTunes® stores) in cloud, local libraries (eg iTunes® libraries) on your local computer. One category of data can be restored from one source, while another category of data from a separate source. For example, photos can be restored from cloud storage, music content from stores, apps from local libraries, app data from cloud storages, etc. Typically, sources on the local computer may be preferred over sources in the cloud, due to, for example, less expensive connection costs and/or more available network bandwidth. [00072] In some embodiments, synchronization operations can be performed in multiple phases, such as a transaction phase followed by a best effort phase. During the transaction phase, metadata can be identified in the sense of describing a list of resources for synchronization between a device and a local computer. Metadata can be received from the local computer in a transactional form (eg all or nothing). During the best effort phase, the assets described by the metadata can be synchronized on the device from different dynamically determined sources, considering, for example, availability, performance, cost and/or other applicable factors. [00073] In certain modalities, different sources for the restoration of resources can be dynamically identified based, for example, on the metadata associated with the resources. Sync operations can append descriptions of a list of features required for syncing on a locally attached or connected computer device (for example, the iTunes® computer). A purchased asset, such as music, video, movie, app, etc., can be downloaded from cloud stores or from a local computer (eg via the iTunes® library). Media not purchased or purchased from a store, such as a photo taken by a user or a video downloaded from other devices, can be restored from cloud storage or local computer (for example, via iTunes® backup). [00074] Dynamic restoration order settings can be advantageously applied in later phases (eg after the first phase or modal phase) of multiphase restoration in order to improve the efficiency and/or usability of a device. For example, a list of resources or assets can be identified for restoration in the initial phase (or first phase) of restoration. During a later restore phase, such as a background phase for hard data transfer, the selection of which of the identified resources to restore next can follow a dynamically determined priority order on the fly. Multiple resources can be transferred at the same time for restoration, for example across multiple threads or processes. [00075] According to a working status of a device and/or various heuristic criteria configured for the resources to be still restored or being restored, the selection order of the following resource(s) the transfer can only be changed during one runtime. For example, resources that are smaller in size and/or that require less transfer time (eg more bandwidth available to associated sources) can be classified as higher (eg more likely to be selected as the next resource to restore). [00076] In one modality, the usage of a device can be tracked in order to determine how resources should be ordered or prioritized for restoration in order to increase the usability of the device. For example, features can be ordered according to associated applications. In certain modalities, resources from most recently used applications may be assigned a higher priority than resources from previously used applications. A currently used app (for example, a movie or video playback) can be identified as the most recently used app in anticipation of an app data associated with the app that might soon be accessed by a user. [00077] In some modalities, the resources to be restored can be prioritized according to the display order of the icons associated with the resources. For example, an application icon and/or a media icon associated with a resource can be presented on a device screen according to the order of display. The display order can reflect a priority implicitly specified by a device user. Optionally or in addition, user inputs (eg touching a video screen) can be received in order to dynamically control how resources should be transferred (eg pausing, restarting, starting, etc.). [00078] In an modality, a list of resources to restore can be built with an assigned order based on heuristically configured characteristics and/or dynamically identified factors. Characteristics may include canonical information about a resource, such as size, type, location, and/or other applicable metadata associated with the resource. For example, a feature of an acquired asset type may have a higher priority to restore than another feature of a user-created content type. The location of a resource can indicate where the resource was generated or acquired for a device. A resource associated with a location closer to a device's current location may have a higher priority than another resource with a location further away from the device. [00079] Dynamic factors can be determined in real time based on changing work environments or usage patterns on a device. For example, dynamic factors can include the available (restoration) sources (eg cloud storages, stores, local computers, etc.), the usage history of the apps, the display order associated with the app icons, the user inputs or other applicable factors. Typically, a resource that can be downloaded from an available source may be of a higher priority than another resource not found from currently available sources. A resource's usage history may include, for example, frequency, the last time the resource was accessed (eg through an application), usage count, and/or other usage statistics. A resource with a higher frequency of use can be ranked higher. [00080] In a modality, an initial list of resources to restore can be built during a first phase (eg in the modal phase) of a multiphase restore. Heuristically determined characteristics and/or dynamic factors can be represented as assigned heuristic weights and combined in order to determine a restoration order among the resource list, for example according to a separate combined heuristic weight for each resource. During a later restore phase, the resource(s) with the greatest weight can be selected next to the download. [00081] For example, an ordered list of resources to restore can be forwarded to a restore process capable of restoring resources from at least one restore source (eg cloud storage, store, and/or iTunes® computer) . The restore process can track a restore status, monitor environmental changes (eg network connections, power status), detect user inputs, etc., in order to change the order of resources to restore . The restoration can be interrupted (eg through a user input and/or by a change of environment) in order to rebuild a new resource list with a new order to resume with the newly built list. [00082] In one modality, a queue of resources to be restored from a particular source (eg an iTunes® computer, or a cloud storage, etc.) can be maintained according to a current ordered list of resources identified to restore. Separate queues can be maintained for different sources. In some modalities, since the resource list is built dynamically during runtime (eg due to a user interruption, a selection and/or other system events, etc.), each queue can be updated ( for example, when moving a particular resource to the top of the queue) according to a newly built resource list in order to continue the restore. [00083] In some modalities, the concrete content of the resources can be restored in a cooperative way according to how the resources are used through a device. For example, resources can be sanded around an app to allow the app to quickly become accessible when restoring the device. Application programs and associated application data (or settings) can be in a safe mode to be restored together. [00084] Dependence on resources for an application, such as an executable program, libraries, application settings, application data (or user data such as documents created by the user through the application), etc., can be kept within a safe mode in order to identify an order for restoring these resources on a device. The app can be made available to a device user even before all sandboxed resources are restored. For example, running a music player application may require the player settings to be restored before the music content files are transferred to the device. [00085] In one modality, multi-phase restoration may coordinate with a user interface to allow a user to interact with a device during restoration (for example, before the device is fully restored). Placeholders can be presented for a real-time or in-progress update status for each restore phase. The concrete transfer of resources can be dynamically reordered according to the inputs received through the user interface. [00086] For example, an app (eg a photo viewer, a video player, a music player, etc.) and associated app settings can be restored to display a corresponding app icon in a user interface to indicate that the application is available. When detecting user interactions with the app (eg looking at a photo), a higher priority can be given to features related to associated app data (eg photographs) for dynamically changing the restore order. [00087] In one modality, a restore state for an app can be tracked by the app when a device is being restored. A restoration state for the application can be presented, for example, through a "roulette" type of user interface element, a representation such as a thermometer type progress indicator, or other applicable user interface elements. Whether the assets for the application are available or not can be indicated through the user interface. [00088] In certain embodiments, user interface elements for presenting a restore state may include a composite progress indicator based on a combination of factors that affect the overall speed of the restore. Factors can be computed according to, for example, the size of an app, the speed of downloading an app from the app sources, the size of user data, the speed of downloading user data from the sources user data, installation time, media content decoding time (eg music, encrypted data, etc.) and/or other applicable factors. The composite progress indicator can be presented or displayed as a unique, intuitive thermometer-type indicator, a pie chart-type indicator, or other applicable user interface-type indicator, depending, for example, on the media type and/or context ( for example, for a trampoline type context, an iPod® app, etc.). [00089] In some embodiments, different UI components/functions may be presented (or activated) according to a reset state. For example, assets that are to be restored (eg in a first phase of restoration) but have not yet been restored can be identified in grey, for example, in order to disable an application's user activation for the assets. However, certain user interface operations, such as reordering, renaming and/or deleting, may be allowed for assets not yet restored. In some modalities, the state of restoration may include the availability or unavailability of an asset. A source interface module can determine if the asset to restore from a source (for example, an iTunes® store, an asset store or other applicable stores) is not currently available, for example, not present in the source and/or associated with an incorrect access credential (eg a password included in asset metadata). [00090] In a modality, a list of resources or assets identified for restoration can be maintained, for example, in the ATC controller module or in a common module for both synchronization and restoration operations, in order to dynamically change the restoration order and/or report the progress of the restoration. Applications can access the restoration progress through plug-in modules (eg libraries) and/or API (application program interface). Therefore, applications can provide a real-time update of the restore progress through UI operations, for example, disabling an icon, rotating an icon, moving a progress bar or other applicable UI changes, etc. . For example, a UI might show a restore progress in an app to indicate that 20% or other percentage of assets have already been restored in that app. [00091] The application can stop or change restore operations that work in the background phase. For example, a user might tap into a media asset app (for example, a song or video) purchased in a store. In response, the application may request, for example, via plug-in modules or API interfaces, a reset of asset transfer priorities, for example, via the ATC controller module. A source interface module (eg stored in the itune program) from a cloud asset store can be instructed to place the media asset as placed by the user at the top of an associated queue in order to resume its restoration or transfer. [00092] In one embodiment, a device can monitor a state of power supplies during backup operations so as to maintain robust user experiences. Upon detecting a system event related to a change of power supplies, the device may terminate or cancel processes (eg in the background) in order to copy (or restore) resources transparently without being noticed by a user. The system event can be caused, for example, by turning off or unplugging a power cord, inductive pad, or other power transfer mechanism, on the device. [00093] In some embodiments, an event can be generated based on monitoring whether the device is connected to a power source with sufficient power (eg to stop backup when the power source does not have enough power). Alternatively, or optionally, an event can be based on whether a device's screen is on or off and/or a device's network connection status. For example, when the screen is turned on (for example, for any reason), the device's automatic backup can be canceled in order to avoid an impact on the UI performance. When the event indicates that the device is no longer connected to a Wi-Fi network, for example, automatic backup may be stopped in order to avoid using cellular data over a cellular phone network. [00094] In some modalities, alerts can be issued in order to provide the user with an option to select whether to continue the backup/restore or not. The device can remain switched on in a working condition, for example, in order to save battery power, without wasting energy caused by background backup/restore operations unknown to the user. [00095] In one modality, a backup/restore state can be maintained on a device in order to allow backup/restore operations to be resumed, for example, when an external power line is reconnected. Backup operations can be resumed in order to rescan the device to identify which resources have been backed up without performing unnecessary backup operations on resources that have already been backed up, for example when the external power line is disconnected. [00096] Figure 1 is a block diagram illustrating an embodiment of network systems for backup and restoration of multiple sources of multiple phases according to an embodiment described in this document. Networked systems 100 may include dynamically configured networks 109 connected to services 101, 103, 105, 107, 117 and devices 111, 113. For example, client device 113, such as a telephone device, may be sporadically connected to the telephone service. asset store 107 depending on where the device 113 is located. Device 113 may be locally coupled or directly connected (eg via a wire) to a local backup device 111, which may be a desktop computer capable of accessing mass storage devices such as hard disks, state devices solid, fast memories or other storage services. In one embodiment, the client device 113 may be copied and/or restored across multiple sources (e.g. servers, services or local devices) 101, 103, 105, 107, 111, 117 instantly identified. Backup services or sources, such as services 101, 103, 105, 107, 111, 117 or other applicable content services, may be able to restore an asset or content on a device, such as device 113, when requested , without the need for the device to copy the asset. [00097] Figure 2 is a block diagram illustrating an exemplary system for the backup and restoration of multiple multi-phase sources according to an embodiment described in this document. In one embodiment, system 200 can be based on client device 113 of Figure 1, running in an operating environment 201, which can be based on Apple Inc.'s iOS® operating system or other applicable operating systems [00098] System 201 may include a backup/restore management module 207 to copy and restore a device's resources with selected fonts through network interface module 203. Resources may include, for example, system files 217. The 207 module can initiate backup/restore operations on a user-configurable schedule, for example, daily, weekly and/or on demand from requests received via remote devices and/or user inputs. In some embodiments, module 207 can interrupt or resume backup/restore operations in response to system events such as external power loss (for example, when an external power cable is disconnected), monitored through the processor handler module of system events 205. [00099] Local database 209 can cache or store one or more snapshots copied to a device. A snapshot can represent a state of a device's resources copied at a particular point in time. Backup/restore operations can allow the system 201 to revert to a previous state corresponding to a snapshot. [000100] In one modality, one or more applications, such as application 213, can communicate with backup/restore management module 207 through, for example, status interface module 221. Application 213 can power on to the 221 status interface module as a plug-in or via API interfaces. In one embodiment, the application 213 can access the backup/restore status of associated resources in order to present a progress through the user interface module 225. [000101] Alternatively, application 213 may relay a user request, for example, a user touch action, received via user interface module 225 to module 207 for reordering or changing backup/operations real-time restoration. User request may be received via touchscreen-based, mouse-based, cursor-based, or other applicable user interface technologies. In one modality, an application usage history 213, such as usage counts, usage frequency, usage times, or other applicable usage statistics, etc. can be recorded in usage history 211. The module 207 can dynamically configure backup/restore operations based on information collected through usage history 211. [000102] Figure 3 is a block diagram illustrating an exemplary system for managing backup and restore in multiple phases using multiple sources according to a modality described in this document. System 300 may be based on system 200 of Figure 2, including backup/restore management module 207. In one embodiment, system 300 may include a service structure 309 capable of discovering and/or interfacing with multiple sources of backup/restore for performing backup/restore operations. [000103] For example, the storage interface module 301 (eg run as a stored process in itune) can communicate with available stores, such as store 107 in Figure 1, to transfer acquired resources. The cloud interface module 307 can communicate with cloud storages, such as the cloud backup service 101 in Figure 1, to transfer the actual contents to backup/restore resources on a device. The local device interface module 305 (eg running as an ituned process) can copy, restore and/or synchronize resources by exchanging messages with the corresponding service running on a local computer, such as hosted iTunes® in the local backup device 111 of Figure 1. In one embodiment, the interface modules 301, 305, 307 may share a common interface motor 303, such as the ATC motor or controller module, which may be capable of performing the transfer of data at a lower level of abstraction than interface modules 301, 305, 307. [000104] The multiphase processor handler module 311 (eg running as a backup process) can manage different phases of backup/restore operations. For example, the multi-phase processor handler module 311 may initiate (for example, according to a configured schedule) backup operations with the backup service 105 in order to identify descriptions of a resource snapshot to be copied. In one modality, the multiphase processor handler module 311 can identify which resources to restore in a modal phase (or first phase) and/or subsequent phases (eg, the background phase), which may be less modal (by example, allowing interactions with a user). [000105] In some embodiments, the resource queue processor handler module 313 can dynamically rearrange the resources to restore and/or copy according to, for example, configured heuristics and/or user requests. Resources or assets can be transferred to/from different sources ordered according to the separate queues of the 309 service structure. In one modality, in response to a user touch action or other UI user interface actions (by example, a mouse click, a voice command, a keyboard selection, gestures, etc., received from an application during a restore (eg in the background) of a device, the resource queue processor handler module 313 can again prioritize the resources still to be restored in favor of the application. The resource queue processor handler module 313 may instruct the service structure 309 to update the queues to allow for a higher priority, for example, for download resources associated with the application. [000106] Figure 4 is a flowchart that illustrates an embodiment of a process for performing incremental backup operations on a device according to an embodiment described in this document. Exemplary process 400 may be performed by processing logic that may comprise hardware (circuit, dedicated logic, etc.), software (as it runs on a dedicated machine), or a combination of both. For example, process 400 can be performed by some components of system 200 in Figure 2. [000107] In one embodiment, process processing logic 400 can perform backup operations that include at least two steps. Processing logic 400 may pass metadata to a backup service (eg the MBS service) in order to receive tokens from the backup service for authentication with a content service (eg the MMCS service). Then the processing logic of process 400 can upload the concrete content to the content service using the tokens. Metadata for files in the backup service can be updated with authentication tokens. [000108] At block 401, the processing logic of process 400 can find a backup corresponding to a device on a backup management server (for example, the MBS service). Backup can be newly created when no existing backup matching the device is found. At block 403, the processing logic of process 400 can rebuild a snapshot cache (or manifest cache) for synchronization with the backup management server. At block 405, process processing logic 400 can identify a snapshot of a previous backup operation. The identified snapshot can be an uncommitted snapshot or a newly created snapshot. The identified snapshot can include metadata describing the files on a file system. [000109] At block 407, the processing logic of process 400 can scan the file system for file system changes (eg new files, deleted files, modified files, etc.), eg through a comparison with the identified snapshot. At block 409, the processing logic of process 400 can perform backup operations through coordinated transactions with the backup management server, a backup service management server (for example, the MMCS service) and a backup provider server. storage (eg Amazon, S3, or cloud storage, etc.). At block 411, the processing logic of process 400 can merge the previously created snapshots (for example, deleting old snapshots and/or keeping a full snapshot corresponding to a complete set of files with multiple incremental snapshots, each corresponding to incremental changes in the set of files from a previous snapshot). [000110] Figure 5 is a flowchart illustrating an embodiment of a process for performing incremental restore operations on a device according to an embodiment described in this document. Exemplary process 500 may be performed by processing logic that may comprise hardware (circuit, dedicated logic, etc.), software (as it runs on a dedicated machine), or a combination of both. For example, process 500 can be performed by some components of system 200 in Figure 2. [000111] At block 501, the processing logic of process 500 can restore modal system files on a device (eg iOS® device) from cloud backups without responding to a user's input. A device operating system might be available and running during modal restore. At block 503, the processing logic of process 500 can reset the device with the system files restored to a working condition for the user. [000112] At block 505, the processing logic of process 500 can restore files to the device in the background. Assets (eg purchased or transferred) can be downloaded from cloud stores (eg iTunes® stores) and data can be restored from cloud backups. At block 507, the processing logic of process 500 can sync/restore split files from users' computers (eg running iTunes® backup software). Files can include acquired assets and/or data not restored from cloud backup. [000113] Figure 6 is a flowchart illustrating an embodiment of a process for dynamically prioritizing resources to restore in a device according to an embodiment described in this document. Exemplary process 600 can be accomplished by processing logic that can include hardware (circuit, dedicated logic, etc.), software (as it runs on a dedicated machine), or a combination of both. For example, process 600 can be performed by some components of system 200 in Figure 2. [000114] At block 601, the processing logic of process 600 can track usage patterns (eg number of times, usage time, usage location, usage time, etc.) of applications and/or hosted content on a device (for example, iOS®-based mobile device). At block 603, the processing logic of process 600 may create a list of applications and/or contents to be restored to the device. At block 605, process processing logic 600 can determine the current location of the device. At block 607, the processing logic of process 600 can prioritize the list of applications and/or contents to restore in an order based on usage patterns, applicable metadata associated with the applications and/or contents (e.g., size, type, etc.) and/or availability at the current location. [000115] At block 609, the processing logic of process 600 can restore applications and/or content on the device to the current location using the priority list. At block 611, process processing logic 600 may detect a user request, for example, via a touch input, indicating a desired restoration priority, about one or more applications/content. At block 613, the processing logic of process 600 can dynamically change the order of the priority list of applications and/or contents to be restored in accordance with the requested desired restoration priority. [000116] Figure 7 is a block diagram illustrating an exemplary system for monitoring the energy sources of a device for backup and/or restore operations according to a modality described in this document. System 700 can be based on a client device, such as device 113 in Figure 1. [000117] The 700 system can be configured to terminate an electromagnetic wave (wireless) backup operation that has been initiated and is in progress, in response to detection if recharging from an external power source (for example, an AC/DC adapter, a solar panel, an inductive charging pad, etc.) 719 stopped. The 700 system includes an external power port 713, such as an outlet or socket for a plug that is mated to an output of an AC/DC power adapter or other external power source, and a battery 717 that is recharged, under the control of a charge controller. [000118] A power detector 709 is coupled to the external power port and is coupled to a processing system 711, which can be a microprocessor-based system on a chip, or to other processing systems; the power detector monitors the availability of the external power supply and the state of the charging process and determines, based on this monitoring, whether the charging process has ended as a result of a disconnection of the external power source. The power detector can, in response to detecting whether the charging process has terminated as a result of disconnection, generate a termination signal (for example, an interruption signal on a bus that is coupled to the processing system), which it does the processing system to terminate wireless backup operations. [000119] In one mode, the backup operation starts and is in progress before completion and copies software or user data (eg contacts, calendar entries, user text files, media files from user, such as music or photos, etc.) or both, which can be stored in the 700 system memory 715. The processing system in the 700 system can perform any of the backup methods described in this document in order to do with the software and/or user data being stored, through the backup operations, on a remote device, such as a server 701 coupled to a 703 network. The backup process is performed wirelessly through one or more radios (for example, a Wi-Fi radio or a 707 cellular phone radio) in system 700, and these radios are coupled to the processing system in system 700 and are coupled to one or more networks. The network can be a single network (for example, a wireless LAN network) or a plurality of networks or a cellular network that is coupled to the Internet, etc. [000120] In response to the terminate signal, the processing system may terminate the backup process in progress (which is incomplete at this point) immediately or upon completion of the backup operation on the file currently processed in the backup operation. The processing system and/or one or more servers described in this document may use signatures or synchronization anchors or other mechanisms in order to keep track of atomic backup operations so as to have control over what has been completed in a backup operation. backup prematurely terminated and what was not completed in the prematurely terminated backup operation. Completion of the backup operation can be performed automatically by the 700 system and without user request or interaction. [000121] The backup process can resume from the finished state when the 700 system is recharged again from an external power source. In one embodiment, the system 700 is backed up according to one or more methods described herein when it is being recharged via an external power source, and terminates the backup when it is disconnected from the power source and restarted. from the backup completed state when the reload is restarted. Therefore, the backup process starts or restarts, in one mode, in response to detecting that an external power supply has been connected and is now charging the battery in the 700 system, as shown in Figure 8. [000122] Figure 8 is a flowchart that illustrates a modality of a process for the interruption of backup and/or restore operations in a device in order to save energy according to a modality described in this document. Exemplary process 800 may be accomplished by processing logic that may include hardware (circuit, dedicated logic, etc.), software (as it runs on a dedicated machine), or a combination of both. For example, process 800 can be performed by some components of system 200 in Figure 2 or system 700 in Figure 7. [000123] At block 801, the processing logic of process 800 can determine if an internal battery is being recharged. At block 803, process processing logic 800 can initiate backup operations with the remote backup server(s) as a background process and monitor the recharge state of the internal battery. At block 805, the processing logic of process 800 can determine if the internal battery recharge has been completed (eg, disconnecting from AC/DC power adapters, etc.) according to the recharge status. At block 807, process processing logic 800 can terminate backup operations in response to detecting whether the battery recharge has completed. At block 809, process processing logic 800 may restart backup operations in response to detecting whether the battery is beginning a recharge. [000124] Figure 9 shows an example of a data processing system that can be used with the modalities described in this document. The data processing system 900 illustrated in Figure 9, includes a processing system 911, which may be one or more microprocessors, or which may be a system on an integrated circuit per chip, and the system further includes a memory 901 for the storage of data and programs for execution by the processing system. System 900 further includes an audio input/output subsystem 905 which may include a microphone and a speaker for, for example, playing music or providing telephone functionality through the speaker or microphone. System 900 can, at least in certain embodiments, automatically and/or manually perform the restoration and backup of multiple described multi-phase sources via a network or local connections. In one embodiment, system 900 may include the system shown in Figure 2. [000125] A video controller and video device 907 provide a visual user interface; this digital interface can include a graphical user interface, which is similar to what is shown on a Macintosh computer when running OS X® operating system software. System 900 further includes one or more wireless transceivers 903 for communicating with another data processing system. A wireless transceiver can be a Wi-Fi transceiver, an infrared transceiver, a Bluetooth transceiver, and/or a wireless cellular telephony transceiver. It should be appreciated that additional components, not shown, may also be part of system 900 in certain embodiments, and in certain embodiments fewer components than shown in Figure 9 may also be used in a data processing system. [000126] The data processing system 900 further includes one or more input devices 913 that are provided to allow a user to have input access to the system. These input devices can be a pad of keys or a keyboard or a touch panel or a multi-touch panel. Data processing system 900 further includes an optional input/output device 915 which may be a connector for a plug. It will be appreciated that one or more buses, not shown, can be used to interconnect the various components, as is well known in the art. The data processing system shown in Figure 9 may be a portable computer or a personal digital assistant (PDA), or a cell phone with PDA-like functionality, or a portable computer that includes a cell phone, or a media player. , such as an iPod, or devices that combine aspects or functions of those devices, such as a media player combined with a PDA and a cell phone in one device. In other embodiments, data processing system 900 may be a network computer or a processing device embedded in another device, or other types of data processing systems with fewer components or perhaps more components than shown in the Figure. 9. [000127] Figure 10 shows an example of a data processing system, such as a computer system, that can be used with an embodiment in the present invention. For example, system 1000 can be implemented as a part of the system shown in Figure 1. It should be noted that while Figure 10 illustrates various components of a computer system, this is not intended to represent any particular architecture or mode of interconnection of the components, since such details are not pertinent to the present invention. It should also be appreciated that network computers and other data processing systems with fewer or perhaps more components can also be used with the present invention. [000128] As shown in Figure 10, the computer system 1000, which is a form of a data processing system, includes a bus 1003 that is coupled to a microprocessor 1005 and a memory ROM (Read Only Memory) 1007 and a volatile RAM memory 1009 and a non-volatile memory 1011. The microprocessor 1005 can retrieve the instructions from the memories 1007, 1009, 1011 and execute the instructions in order to carry out the operations described above. Bus 1003 interconnects these various components together and further interconnects these components 1005, 1007, 1009, and 1011 to a video controller and to video device 1013 and to peripheral devices such as input/output (I/O) devices ) which can be mice, keyboards, modems, network interfaces, printers and other devices that are well known in the art. Typically, input/output devices 1015 are coupled to the system via input/output controllers 1017. Volatile RAM (Random Access Memory) 1009 is typically implemented as dynamic RAM memory (DRAM) that continually requires power in order update or keep the data in memory. [000129] Mass storage 1011 is typically a magnetic hard disk or a magnetic optical drive or an optical drive or a DVD-RAM or a fast memory or other types of memory systems that hold data (eg large amount of data ) even after power is removed from the system. Typically, mass storage 1011 will also be random access memory, although this is not necessary. Although Figure 10 shows that mass storage 1011 is a local device coupled directly to the other components of the data processing system, it should be appreciated that the present invention can utilize a non-volatile memory that is remote from the system, such as a network storage device that is coupled to the data processing system through a network interface, such as a modem or an Ethernet interface or a wireless network interface. Bus 1003 can include one or more buses connected to each other via various bridges, controllers and/or adapters, as is well known in the art. [000130] Portions of the above can be implemented with a logic circuit, such as a dedicated logic circuit, or with a microcontroller or other form of processing core that executes program code instructions. As such, the processes taught above by the present invention can be performed with program code, such as machine-executable instructions that cause a machine to operate those instructions to perform certain functions. In this context, a "machine" can be a machine that converts intermediately (or "abstract") instructions into processor-specific instructions (eg, an abstract execution environment, such as a "virtual machine" (eg, a Java Virtual Machine), an interpreter, a Common Language Runtime, a high-level language virtual machine, etc.), and/or an electronic circuit arranged on a semiconductor chip (eg, the "logic circuit" implemented with transistors) designed to execute instructions, such as a general purpose processor and/or a special purpose processor. The processes taught above by the present invention can also be performed by (as an alternative to a machine or in combination with a machine) an electronic circuit designed to carry out the processes (or a portion thereof) without executing a program code. . [000131] An article of manufacture can be used to store a program code. An article of manufacture that stores program code may be incorporated as, but not limited to, one or more memories (eg, one or more flash memories, random access memories (static, dynamic or otherwise)), optical disks , CD-ROM, DVD ROM, EPROM, EEPROM, magnetic or optical cards, or other machine-readable media for storing electronic instructions. Program code can also be downloaded from a remote computer (eg a server) onto a requesting computer (eg a client) by means of data signals embedded in a propagation medium (eg over a link (eg a network connection)). [000132] The term "memory" as used herein is intended to encompass all volatile storage media such as dynamic random access memory (DRAM) and static RAM memory (SRAM). Computer-executable instructions can be stored on non-volatile storage devices, such as a magnetic hard disk, on an optical disk, and are usually recorded, through a direct memory access process, in memory during the execution of the software by a processor. One of skill in the art will readily recognize that the term "machine-readable storage medium" includes any type of volatile and non-volatile storage device that is accessible by a processor. [000133] The above detailed descriptions are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These descriptions of algorithms and representations are the tools used by those skilled in data processing techniques to most effectively convey the substance of their work to others skilled in the art. An algorithm is, in this case, and in general designed to be a self-consistent sequence of operations that lead to a desired result. Operations are those that require physical manipulations of physical quantities. Typically, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, or otherwise manipulated. It has sometimes proved convenient, mainly for reasons of common usage, to refer to these signs as bits, values, elements, symbols, characters, terms, numbers, or the like. [000134] It should be kept in mind, however, that all such terms or similar terms must be associated with the appropriate physical quantities and are merely convenient labels applied to those quantities. Unless specifically indicated or otherwise as apparent from the above presentation, it should be appreciated that throughout the description, phrases use terms such as "process" or "compute" or "calculate" or "determine" or "display" or the like, refers to the action and processes of a computer system, or a similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the system's records and memories data in other data likewise represented as physical quantities within the memories or registers of the computer system or in other information storage, transmission or display devices. [000135] The present invention also relates to an apparatus for carrying out the operations described in this document. This apparatus may be specially constructed for the desired purpose, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored on a computer readable storage medium such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROM, optomagnetic disks, read-only memory (ROM) , RAM memories, EPROM memories, EEPROM memories, optomagnetic cards, or any type of medium suitable for storing electronic instructions, and each coupled to a computer system bus. [000136] The processes and provisions described in this document are not inherently related to any specific computer or other particular apparatus. Various general purpose systems may be used with the programs in accordance with the teachings of the present invention, or may be convenient for constructing a more specialized apparatus in order to carry out the described operations. The structure required for a variety of such systems will be evident from the description below. Furthermore, the present invention is not described with reference to any specific programming language. It should be appreciated that a variety of programming languages can be used to implement the teachings of the present invention as described herein. [000137] In the above descriptive report, the present invention has been described with reference to specific exemplary embodiments thereof. It will be apparent that various modifications can be made without departing from the broader spirit and scope of the present invention as defined in the embodiments below. The descriptive report and drawings should therefore be considered in an illustrative rather than a restrictive sense.
权利要求:
Claims (15) [0001] 1. Method, characterized by the fact that it comprises the steps of: restoring a resource from a first source on a device; dynamically detect resource availability from a second source after a portion of the resource has been restored to the device from the first source; determine whether the second source is more efficiently connected to the device than the first source; and restoring a remaining portion of the resource from the second source to the device after the portion of the resource has been restored to the device when the second source is most efficiently connected to the device. [0002] 2. Method according to claim 1, characterized in that the detection is based on a network connection between the device and the second source and that the device moves within a range close to the second source in order to allow network connection. [0003] 3. Method according to claim 1, characterized in that the first source is coupled to the device through a separate network connection and in that the second source is determined to be more efficiently connected to the device if the network connection with the second source has higher bandwidth compared to separate network connection with first source. [0004] 4. Method according to claim 1, characterized in that it further comprises the steps of: initializing the restoration with a backup service; and determine one or more resources to restore to the device with the backup service. [0005] 5. Method according to claim 4, characterized in that the device is associated with an account identifier that identifies the owner of the device, and in which the initialization comprises sending the account identifier to the backup service. [0006] 6. Method according to claim 4, characterized in that the resources are associated with metadata that describe the concrete content of the resources, and in which the metadata is tracked by the backup service and in which the determination is based on the metadata of resources. [0007] 7. Method according to claim 4, characterized in that the resources include the resource from the first source, further comprising the step of: identifying the first source with the backup source for restoring the resource. [0008] 8. Method according to claim 7, characterized in that the first source is a network accessible storage, referenced through the backup source, in which the second source is a local computer wirelessly coupled to the device, and in that references to a plurality of sources including the first source are tracked through the backup service and that identification of the first source is transparent to a user of the device. [0009] 9. The method of claim 1, further comprising the step of: tracking the portion of the resource that has been restored from the first source to restore the remaining portion of the resource from the second source. [0010] 10. Method according to claim 1 characterized in that it further comprises the steps of: interrupting the restoration from the first source; and resume restoration from the first source. [0011] 11. Method, characterized by the fact that it comprises the steps of: identifying a first resource to restore on a device with a backup service; initiate a restore operation with the backup service for the device; and determining a first source to restore the first resource to the device; switching from a first source to a second source to restore the first resource to the device, where the second source is determined to be more efficiently connected to the device than the first source, and where a portion of the resource is restored from the first source and a remaining portion of the resource has not been restored to the device; identify a second resource to restore on the device from the second part; and restore the second resource on the device from the second source. [0012] 12. Method according to claim 11, characterized in that the first resource is associated with metadata describing the concrete content of the first resource and in which the determination is based on communication with the backup service in terms of the metadata. [0013] 13. Method according to claim 12, characterized in that it further comprises the step of: loading a portion of the concrete content from the first source into the device; and wherein the second source is a computing device locally coupled to the device, the computing device holding the metadata, the method further comprising the steps of: tracking the remaining portion of the first resource not yet restored to the device; and load the remaining portion of the first resource from the second source. [0014] 14. Method according to claim 15, characterized by the fact that the metadata is kept in the backup service and that the determination of the first source is based on the metadata, and that the metadata indicates that the first resource is an asset purchased publicly available for purchase from the first source. [0015] 15. Method, according to claim 11, characterized by the fact that the second source is associated with the metadata describing the concrete content of the second source, and the metadata is kept in the second source for the identification of the second resource.
类似技术:
公开号 | 公开日 | 专利标题 BR112013031065B1|2021-05-25|method for restoring from multiple sources US9904597B2|2018-02-27|Methods and apparatus for multi-phase restore US8689034B2|2014-04-01|Methods and apparatus for power state based backup EP2716007B1|2016-05-18|Methods and apparatus for multi-phase multi-source backup
同族专利:
公开号 | 公开日 US9483365B2|2016-11-01| CN103582875A|2014-02-12| EP2702487A1|2014-03-05| JP5819518B2|2015-11-24| AU2012262733A1|2014-01-16| AU2012262733B2|2016-04-28| KR20140031366A|2014-03-12| US20120311280A1|2012-12-06| EP2702487B1|2015-06-24| US8868859B2|2014-10-21| MX2013014175A|2014-03-21| CN103582875B|2016-06-22| JP2014519122A|2014-08-07| WO2012166443A1|2012-12-06| KR101602584B1|2016-03-10| BR112013031065A2|2016-11-29| US20150006837A1|2015-01-01|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 EP0551009B1|1992-01-08|2001-06-13|Emc Corporation|Method for synchronizing reserved areas in a redundant storage array| US5241668A|1992-04-20|1993-08-31|International Business Machines Corporation|Method and system for automated termination and resumption in a time zero backup copy process| US5737557A|1995-05-26|1998-04-07|Ast Research, Inc.|Intelligent window user interface for computers| US6061409A|1996-06-27|2000-05-09|Matsushita Electric Industrial Co., Ltd.|Synchronization recovery for a mobile telephone| JPH11134234A|1997-08-26|1999-05-21|Reliatec Ltd|Backup list method, its controller and recording medium which records backup restoration program and which computer can read| US6141771A|1998-02-06|2000-10-31|International Business Machines Corporation|Method and system for providing a trusted machine state| US6247126B1|1999-01-25|2001-06-12|Dell Usa, L.P.|Recoverable software installation process and apparatus for a computer system| US7395282B1|1999-07-15|2008-07-01|Commvault Systems, Inc.|Hierarchical backup and retrieval system| US6851073B1|1999-07-26|2005-02-01|Microsoft Corporation|Extensible system recovery architecture| JP4292660B2|1999-11-19|2009-07-08|日本ビクター株式会社|Automatic defragmenter| US20070033252A1|2000-03-30|2007-02-08|Combest Ricky F|Dynamic virtual network and method| JP4568963B2|2000-06-08|2010-10-27|ソニー株式会社|Information processing apparatus and information communication system| US20020091956A1|2000-11-17|2002-07-11|Potter Scott T.|Methods and systems for reducing power consumption in computer data communications| US7216136B2|2000-12-11|2007-05-08|International Business Machines Corporation|Concurrent collection of cyclic garbage in reference counting systems| US6920447B2|2001-02-15|2005-07-19|Microsoft Corporation|Concurrent data recall in a hierarchical storage environment using plural queues| US7146524B2|2001-08-03|2006-12-05|Isilon Systems, Inc.|Systems and methods for providing a distributed file system incorporating a virtual hot spare| US7287249B2|2001-09-28|2007-10-23|Siebel Systems, Inc.|Method and system for tracking and exchanging incremental changes to hierarchical objects| US7237075B2|2002-01-22|2007-06-26|Columbia Data Products, Inc.|Persistent snapshot methods| JP4173320B2|2002-05-22|2008-10-29|株式会社エヌ・ティ・ティ・ドコモ|Mobile communication terminal, information storage module, program, and recording medium| US20030220913A1|2002-05-24|2003-11-27|International Business Machines Corporation|Techniques for personalized and adaptive search services| EP1376360A3|2002-06-21|2004-01-07|Sharp Kabushiki Kaisha|Automatic backup system| US20050210304A1|2003-06-26|2005-09-22|Copan Systems|Method and apparatus for power-efficient high-capacity scalable storage system| US7340486B1|2002-10-10|2008-03-04|Network Appliance, Inc.|System and method for file system snapshot of a virtual logical disk| GB2411030B|2002-11-20|2006-03-22|Filesx Ltd|Fast backup storage and fast recovery of data | AU2003299668A1|2002-12-18|2004-07-22|Emc Corporation|Resource allocation aware queuing of requests for media resources| US7720818B1|2002-12-30|2010-05-18|Sprint Communications Company L.P.|On-line account management system having a tiered account information storage system| JP3974538B2|2003-02-20|2007-09-12|株式会社日立製作所|Information processing system| US7240219B2|2003-05-25|2007-07-03|Sandisk Il Ltd.|Method and system for maintaining backup of portable storage devices| US7328366B2|2003-06-06|2008-02-05|Cascade Basic Research Corp.|Method and system for reciprocal data backup| US7124323B2|2003-06-18|2006-10-17|International Business Machines Corporation|Method, system, and program for recovery of a reverse restore operation| US7143117B2|2003-09-25|2006-11-28|International Business Machines Corporation|Method, system, and program for data synchronization by determining whether a first identifier for a portion of data at a first source and a second identifier for a portion of corresponding data at a second source match| US7225208B2|2003-09-30|2007-05-29|Iron Mountain Incorporated|Systems and methods for backing up data files| GB2423850B|2003-11-13|2009-05-20|Commvault Systems Inc|System and method for performing integrated storage operations| AT511677T|2003-12-18|2011-06-15|Research In Motion Ltd|SYSTEM AND METHOD FOR MANAGING DIGITAL AUTHORIZATIONS| JP2005222171A|2004-02-03|2005-08-18|Nec Access Technica Ltd|Cellular phone set| JP4551096B2|2004-02-03|2010-09-22|株式会社日立製作所|Storage subsystem| US7526768B2|2004-02-04|2009-04-28|Microsoft Corporation|Cross-pollination of multiple sync sources| US7206911B2|2004-02-25|2007-04-17|International Business Machines Corporation|Method, system, and program for a system architecture for an arbitrary number of backup components| TWI278199B|2004-03-26|2007-04-01|Quanta Comp Inc|Deployment method and system for multiple remote computers| US7330997B1|2004-06-03|2008-02-12|Gary Odom|Selective reciprocal backup| US7343518B2|2004-06-23|2008-03-11|Intel Corporation|Method for data backup of computing platforms that are occasionally connected| JP2006048473A|2004-08-06|2006-02-16|Mitsubishi Electric Corp|Multiple service providing system, management device, and communication terminal device| US8150937B2|2004-10-25|2012-04-03|Apple Inc.|Wireless synchronization between media player and host device| US7437388B1|2004-12-21|2008-10-14|Symantec Corporation|Protecting data for distributed applications using cooperative backup agents| US7721138B1|2004-12-28|2010-05-18|Acronis Inc.|System and method for on-the-fly migration of server from backup| US7506010B2|2005-02-08|2009-03-17|Pro Softnet Corporation|Storing and retrieving computer data files using an encrypted network drive file system| US20080065637A1|2005-04-14|2008-03-13|Emc Corporation|Locating last processed data| US7590668B2|2005-04-15|2009-09-15|Microsoft Corporation|Pausable backups of file system items| US8103632B2|2005-04-22|2012-01-24|Microsoft Corporation|Self-contained partial database backups| US7584226B2|2005-05-24|2009-09-01|International Business Machines Corporation|System and method for peer-to-peer grid based autonomic and probabilistic on-demand backup and restore| US20070005669A1|2005-06-09|2007-01-04|Mueller Christoph K|Method and system for automated disk i/o optimization of restored databases| US7747577B2|2005-08-17|2010-06-29|International Business Machines Corporation|Management of redundant objects in storage systems| US7779069B2|2005-09-09|2010-08-17|Soonr Corporation|Network adapted for mobile devices| KR100678921B1|2005-10-18|2007-02-05|삼성전자주식회사|Method and apparatus for synchronizing multimedia contents with device which supports plural server environment| US7765187B2|2005-11-29|2010-07-27|Emc Corporation|Replication of a consistency group of data storage objects from servers in a data network| US8341127B1|2006-02-02|2012-12-25|Emc Corporation|Client initiated restore| US8042172B1|2006-02-02|2011-10-18|Emc Corporation|Remote access architecture enabling a client to perform an operation| US7899418B2|2006-02-22|2011-03-01|Fujifilm Corporation|Mobile device and wireless communication apparatus| US20070204003A1|2006-02-28|2007-08-30|Maven Networks, Inc.|Downloading a file over HTTP from multiple servers| JP2007280323A|2006-04-12|2007-10-25|Hitachi Ltd|Storage system and data management method| US20070260759A1|2006-04-14|2007-11-08|Scott Willie L Ii|Apparatus, system, and method for complete data migration from a wireless communication device| US20070294546A1|2006-06-19|2007-12-20|Apple Computer, Inc.|Host device shutdown system| US20080104145A1|2006-06-23|2008-05-01|Derrell Lipman|Method and appartus for backup of networked computers| WO2008031158A1|2006-09-12|2008-03-20|Cebridge Pty. Ltd.|Method system and apparatus for handling information| US7725704B1|2006-09-22|2010-05-25|Emc Corporation|Techniques for performing a prioritized data restoration operation| US8117163B2|2006-10-31|2012-02-14|Carbonite, Inc.|Backup and restore system for a computer| US20080140963A1|2006-12-11|2008-06-12|Thomason Ronald G|Methods and systems for storage system generation and use of differential block lists using copy-on-write snapshots| US9189265B2|2006-12-21|2015-11-17|Vmware, Inc.|Storage architecture for virtual machines| WO2008085204A2|2006-12-29|2008-07-17|Prodea Systems, Inc.|Demarcation between application service provider and user in multi-services gateway device at user premises| US8468244B2|2007-01-05|2013-06-18|Digital Doors, Inc.|Digital information infrastructure and method for security designated data and with granular data stores| CN107122373A|2007-01-07|2017-09-01|苹果公司|With the data syn-chronization according to priority of host device| JP5008991B2|2007-01-24|2012-08-22|株式会社日立製作所|Apparatus and method for controlling data recovery| PL2130108T3|2007-03-29|2018-07-31|Nokia Technologies Oy|Connection to a usb device| US8307004B2|2007-06-08|2012-11-06|Apple Inc.|Manipulating electronic backups| US20080307348A1|2007-06-11|2008-12-11|Angela Richards Jones|Method to Review, Preview and Modify Change Plans From a Progress Bar| US8554784B2|2007-08-31|2013-10-08|Nokia Corporation|Discovering peer-to-peer content using metadata streams| US20090089537A1|2007-09-28|2009-04-02|Sun Microsystems, Inc.|Apparatus and method for memory address translation across multiple nodes| US8339105B2|2007-10-17|2012-12-25|Freescale Semiconductor, Inc.|Power management arrangement for a mobile device| US20090144341A1|2007-12-03|2009-06-04|Apple Inc.|Ad Hoc Data Storage Network| FR2924839B1|2007-12-06|2010-03-19|Agematis|METHOD FOR AUTOMATICALLY SAVING DIGITAL DATA PRESERVED IN MEMORY IN A COMPUTER INSTALLATION, COMPUTER-READABLE DATA MEDIUM, COMPUTER-BASED INSTALLATION AND SYSTEM FOR IMPLEMENTING SAID METHOD| EP2073461A1|2007-12-18|2009-06-24|Alcatel Lucent|Process for delivering at least one data stream from a data source system to a data receiver system through a network| US8112664B2|2008-03-26|2012-02-07|Symantec Operating Corporation|Using volume snapshots to prevent file corruption in failed restore operations| US20080189298A1|2008-04-02|2008-08-07|Steve Cha|Method and apparatus for wireless access to personalized multimedia at any location| US8583602B2|2008-06-05|2013-11-12|Palm, Inc.|Restoring of data to mobile computing device| US20100031248A1|2008-07-31|2010-02-04|Microsoft Corporation|Installation Sequence Manager| US8250031B2|2008-08-26|2012-08-21|Hitachi, Ltd.|Low traffic failback remote copy| US20100052620A1|2008-09-03|2010-03-04|Intersil Americas Inc.|Battery charger ic including built-in usb detection| CN101741601B|2008-11-06|2012-02-15|上海市医疗保险信息中心|Structured disaster backup system and backup method| US8805953B2|2009-04-03|2014-08-12|Microsoft Corporation|Differential file and system restores from peers and the cloud| US8769055B2|2009-04-24|2014-07-01|Microsoft Corporation|Distributed backup and versioning| US8161233B2|2009-05-13|2012-04-17|Computer Associates Think, Inc.|Multi-stream restore system and method| JP4903244B2|2009-06-05|2012-03-28|株式会社日立製作所|Computer system and failure recovery method| US20100333116A1|2009-06-30|2010-12-30|Anand Prahlad|Cloud gateway system for managing data storage to cloud storage sites| US20110016093A1|2009-07-15|2011-01-20|Iron Mountain, Incorporated|Operating system restoration using remote backup system and local system restore function| US8228753B2|2009-07-29|2012-07-24|Stec, Inc.|System and method of maintaining data integrity in a flash storage device| US8856080B2|2009-10-30|2014-10-07|Microsoft Corporation|Backup using metadata virtual hard drive and differential virtual hard drive| US8380678B2|2009-11-24|2013-02-19|Symantec Corporation|Tracking files which have been processed by a backup or a restore operation| US8694469B2|2009-12-28|2014-04-08|Riverbed Technology, Inc.|Cloud synthetic backups| US8903773B2|2010-03-31|2014-12-02|Novastor Corporation|Computer file storage, backup, restore and retrieval| US9386098B2|2010-06-11|2016-07-05|Fidelithon Systems, Llc|Smartphone management system and method| US9244698B2|2010-09-14|2016-01-26|Microsoft Technology Licensing, Llc|Download bar user interface control| US8909876B2|2010-10-28|2014-12-09|International Business Machines Corporation|Snapshots in a hybrid storage device comprising a magnetic disk and a solid state disk| US8819471B2|2011-06-03|2014-08-26|Apple Inc.|Methods and apparatus for power state based backup|US9411687B2|2011-06-03|2016-08-09|Apple Inc.|Methods and apparatus for interface in multi-phase restore| US8849819B2|2011-08-05|2014-09-30|Deacon Johnson|System and method for controlling and organizing metadata associated with on-line content| US9489271B1|2012-03-29|2016-11-08|Veritas Technologies Llc|User interface for restoring databases| US20130326053A1|2012-06-04|2013-12-05|Alcatel-Lucent Usa Inc.|Method And Apparatus For Single Point Of Failure Elimination For Cloud-Based Applications| US10496977B2|2012-07-16|2019-12-03|Square, Inc.|Storing and forwarding payment transactions| US20140075583A1|2012-09-10|2014-03-13|Apple Inc.|Management of media items| US9717985B2|2012-10-02|2017-08-01|RazerPte. Ltd.|Fragment-based mobile device application streaming utilizing crowd-sourcing| US9600552B2|2012-10-02|2017-03-21|Nextbit Systems Inc.|Proximity based application state synchronization| US9654556B2|2012-10-02|2017-05-16|RazerPte. Ltd.|Managing applications on an electronic device| US9747000B2|2012-10-02|2017-08-29|RazerPte. Ltd.|Launching applications on an electronic device| US9776078B2|2012-10-02|2017-10-03|RazerPte. Ltd.|Application state backup and restoration across multiple devices| US9210203B2|2012-10-02|2015-12-08|Nextbit Systems Inc.|Resource based mobile device application streaming| US9268655B2|2012-10-02|2016-02-23|Nextbit Systems Inc.|Interface for resolving synchronization conflicts of application states| US9106721B2|2012-10-02|2015-08-11|Nextbit Systems|Application state synchronization across multiple devices| US9367403B2|2012-12-10|2016-06-14|Dongguan Yulong Telecommunication Tech Co., Ltd.|Terminal and application restoring method| US10123189B2|2013-03-21|2018-11-06|RazerPte. Ltd.|Electronic device system restoration by tapping mechanism| US9361371B2|2013-04-16|2016-06-07|Sonos, Inc.|Playlist update in a media playback system| US9501533B2|2013-04-16|2016-11-22|Sonos, Inc.|Private queue for a media playback system| EP3000039A1|2013-05-22|2016-03-30|Apperian, Inc.|Configuration of one or more computer devices| JP6227378B2|2013-11-08|2017-11-08|株式会社日立製作所|Backup management system and backup management method| US9436410B2|2013-12-13|2016-09-06|Netapp, Inc.|Replication of volumes on demands using absent allocation| US10198445B2|2014-06-30|2019-02-05|Google Llc|Automated archiving of user generated media files| US10037521B1|2014-09-24|2018-07-31|Square, Inc.|Background communication failover for mobile payments| US9986016B2|2015-02-19|2018-05-29|Microsoft Technology Licensing, Llc|Download manager integration with a cloud storage platform| DE112016002365T5|2015-05-27|2018-02-15|Google Inc.|System and method for automatic cloud-based full data backup and recovery on mobile devices| US10802928B2|2015-09-10|2020-10-13|International Business Machines Corporation|Backup and restoration of file system| US10320797B2|2015-09-25|2019-06-11|International Business Machines Corporation|Enabling a multi-dimensional collaborative effort system| US10120552B2|2015-09-25|2018-11-06|International Business Machines Corporation|Annotating collaborative content to facilitate mining key content as a runbook| US10425452B2|2015-09-25|2019-09-24|International Business Machines Corporation|Identifying changes in multiple resources related to a problem| CN105511985A|2015-12-01|2016-04-20|魅族科技(中国)有限公司|Data backup method and terminal| CN105786654A|2016-03-01|2016-07-20|北京金山安全软件有限公司|Data backup method and device and electronic device| US10366378B1|2016-06-30|2019-07-30|Square, Inc.|Processing transactions in offline mode| US10318390B2|2016-07-08|2019-06-11|International Business Machines Corporation|Automated storage target selection for data backup| CN109074295A|2016-07-29|2018-12-21|惠普发展公司,有限责任合伙企业|Data with authenticity are restored| RU2019112556A3|2016-10-03|2020-10-26| CN106776137A|2016-12-15|2017-05-31|济南浪潮高新科技投资发展有限公司|A kind of user's logging data backup and restoration methods| US10248355B2|2017-02-22|2019-04-02|International Business Machines Corporation|Data migration for applications on a mobile device| US10198326B2|2017-03-09|2019-02-05|Apple Inc.|Intelligent restoration of a computing device| US10817385B2|2018-07-31|2020-10-27|EMC IP Holding Company LLC|Storage system with backup control utilizing content-based signatures| KR20220017124A|2020-08-04|2022-02-11|삼성전자주식회사|Method for recoverying backup data and electronic device therefor|
法律状态:
2018-12-11| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]| 2019-10-29| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]| 2021-03-09| B09A| Decision: intention to grant [chapter 9.1 patent gazette]| 2021-05-25| B16A| Patent or certificate of addition of invention granted|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 22/05/2012, OBSERVADAS AS CONDICOES LEGAIS. |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US201161493360P| true| 2011-06-03|2011-06-03| US61/493,360|2011-06-03| US13/226,411|2011-09-06| US13/226,411|US8868859B2|2011-06-03|2011-09-06|Methods and apparatus for multi-source restore| PCT/US2012/039013|WO2012166443A1|2011-06-03|2012-05-22|Methods and apparatus for multi-source restore| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|